package com.ruoyi.project.system.mapper;

import java.util.List;
import com.ruoyi.project.system.domain.SysCredentialsType;
import com.ruoyi.project.system.domain.SysDept;
import org.apache.ibatis.annotations.Param;

/**
 * 证书类型Mapper接口
 * 
 * @author ruoyi
 * @date 2020-04-26
 */
public interface SysCredentialsTypeMapper 
{
    /**
     * 查询证书类型
     * 
     * @param credentialsTypeId 证书类型ID
     * @return 证书类型
     */
    public SysCredentialsType selectSysCredentialsTypeById(Long credentialsTypeId);

    /**
     * 查询证书类型列表
     * 
     * @param sysCredentialsType 证书类型
     * @return 证书类型集合
     */
    public List<SysCredentialsType> selectSysCredentialsTypeList(SysCredentialsType sysCredentialsType);

    /**
     * 新增证书类型
     * 
     * @param sysCredentialsType 证书类型
     * @return 结果
     */
    public int insertSysCredentialsType(SysCredentialsType sysCredentialsType);

    /**
     * 修改证书类型
     * 
     * @param sysCredentialsType 证书类型
     * @return 结果
     */
    public int updateSysCredentialsType(SysCredentialsType sysCredentialsType);

    /**
     * 删除证书类型
     * 
     * @param credentialsTypeId 证书类型ID
     * @return 结果
     */
    public int deleteSysCredentialsTypeById(Long credentialsTypeId);

    /**
     * 批量删除证书类型
     * 
     * @param credentialsTypeIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysCredentialsTypeByIds(Long[] credentialsTypeIds);

    /**
     * 校验证书类型是否唯一
     *
     * @param
     * @return
     */
    SysCredentialsType checkTypeNameUnique(@Param("credentialsType") String credentialsType, @Param("parentId") Long parentId);

    void changeStatus(@Param(value = "credentialsTypeId") Long credentialsTypeId, @Param("status") String status);
}
